A Java agent caused a java.lang.SecurityException when run on the Mac. To get around this, I added the following to Notes's Contents/MacOS/java.policy:
grant {
permission java.security.AllPermission;
};
How can I limit this permission and still avoid the security exception? I'm worrying that the permission is too broad.
original error in Java console:
java.lang.SecurityException
at java.lang.SecurityManager.checkPermission(SecurityManager.java:587)
at COM.ibm.JEmpower.applet.AppletSecurity.checkSecurityPermission(AppletSecurity.java:1338)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1621)
at COM.ibm.JEmpower.applet.AppletSecurity.checkPermission(AppletSecurity.java:1470)
at java.security.Security.getProperty(Security.java:760)
at com.ibm.rcp.internal.security.ssl.PlatformKeyManagerFactorySpiFactory.newInstance(PlatformKeyManagerFactorySpiFactory.java:46)
at com.ibm.rcp.security.ssl.KeyManagerFactoryProxy.initProxy(KeyManagerFactoryProxy.java:73)
at com.ibm.rcp.security.ssl.KeyManagerFactoryProxy.engineGetKeyManagers(KeyManagerFactoryProxy.java:171)
at javax.net.ssl.KeyManagerFactory.getKeyManagers(KeyManagerFactory.java:289)
at com.ibm.rcp.security.ssl.PlatformSSLProtocolSocketFactory.createPlatformSSLContext(PlatformSSLProtocolSocketFactory.java:63)
at com.ibm.rcp.security.ssl.PlatformSSLProtocolSocketFactory.getSSLContext(PlatformSSLProtocolSocketFactory.java:81)
at com.ibm.rcp.security.ssl.PlatformSSLProtocolSocketFactory.createSocket(PlatformSSLProtocolSocketFactory.java:141)
at sun.net.www.protocol.https.HttpsClient.createSocket(HttpsClient.java:405)
at sun.net.NetworkClient.doConnect(NetworkClient.java:162)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1181)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:2982)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getHeaderField(HttpsURLConnectionImpl.java:291)
etc.